//---------------------------------------------------------------------------

#ifndef Valut_classH
#define Valut_classH
#include <vcl.h>
#include <list>
typedef void(*CallBackVal)();
struct ValuteItem
{
 String Text, Name;
 float K;
 int ID;
};
class ValuteHolder
{
 private:
        __fastcall ValuteHolder();
        static void __fastcall Init();
        void __fastcall LoadData();
        std::list<CallBackVal> fcallback;
        std::list<ValuteItem> valutes;
        ValuteItem Current;
 public:
        float GetKByName(String Name); // throw if not found
        static ValuteHolder* __fastcall GetHolder();
        static void __fastcall Done();
        void __fastcall Register(CallBackVal proc);
        float __fastcall GetK();
        void __fastcall Reload();
        String __fastcall GetText();
        void __fastcall ChangeValute();
};
//---------------------------------------------------------------------------
#endif
